Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

/tg/ Status Effects Part 2 - datum, KD, KO, Stuns #4842

Merged
merged 111 commits into from
Dec 19, 2023

Conversation

fira
Copy link
Member

@fira fira commented Nov 5, 2023

About the pull request

Part 2 - this includes porting the actual status_effect datum, modifying it to fit our purposes by backing it with timers similarly to old system, and finally implementing KD, KO and Stun with it.

This contains Part 1 PR (#4828) so if you want to take a look at it I'd advise checking the last commits or setting up a compare between both branches.

Explain why it's good for the game

Predictable status timers. Current ones are bogus in their handling of "life tick correction" and will "stack" time even when they're not supposed to.

Also provides a more robust backend for general effects, and integrates status effects into it.

Testing Photographs and Procedure

Summary testing of buckling interactions, explosion knock times, crawling, resting. Will have to be expanded once part 1 is ready

Changelog

🆑
add: Added Buckled, Handcuffed and Legcuffed screen alerts
code: Ported /tg/ status effects backend, modified with timers to let effects end at appropriate time
code: Stun, Knockdown and Knockout now use the new effects backend
balance: Due to backend change, all KO/KD/Stuns may behave differently timing wise. This is of course subject to adjustments.
balance: Endurance is now set at 8% effect duration reduction per level above 1. However it now compounds with species bonus. Feel free to adjust.
balance: Knockdowns are not inherently incapacitating anymore and many sources of it have been updated to also stun to make up for it.
fix: KO/KD/Stuns do not artificially and randomly ''stack'' due to incorrect timer offset calculation anymore.
fix: Stuns now correctly apply Stun reduction values instead of Knockdown reductions.
fix: Crawling can now be interrupted by a normal move, if you are fit enough to do so.
/:cl:

@github-actions github-actions bot added Sprites Remove the soul from the game. Feature Feature coder badge Code Improvement Make the code longer Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Fix Fix one bug, make ten more labels Nov 5, 2023
@fira
Copy link
Member Author

fira commented Nov 5, 2023

FWIW most of the sprites are actually unused, they didn't blend in well with the rest of the UI, so i just left cuff/buckle ones. Might need to cleanup

@cm13-github cm13-github added the Merge Conflict PR can't be merged because it touched too much code label Nov 6, 2023
@cm13-github
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@cm13-github cm13-github removed the Merge Conflict PR can't be merged because it touched too much code label Nov 7, 2023
@cm13-github
Copy link
Contributor

Conflicts have been resolved. A maintainer will review the pull request shortly.

@cm13-github cm13-github added the Merge Conflict PR can't be merged because it touched too much code label Dec 15, 2023
@cm13-github
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@cm13-github cm13-github removed the Merge Conflict PR can't be merged because it touched too much code label Dec 16, 2023
@cm13-github
Copy link
Contributor

Conflicts have been resolved. A maintainer will review the pull request shortly.

code/datums/status_effects/debuffs/debuffs.dm Outdated Show resolved Hide resolved
code/datums/status_effects/debuffs/debuffs.dm Show resolved Hide resolved
if(!remove_on_fullheal)
return

// if(!heal_flag_necessary || (heal_flags & heal_flag_necessary))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

code/datums/status_effects/stacking_effect.dm Outdated Show resolved Hide resolved
@fira
Copy link
Member Author

fira commented Dec 18, 2023

I cut down overlay integration & some other commented code

Kept the commented rejuvenation flags since it's something we might want short term when adding more effects

@Zonespace27 Zonespace27 added this pull request to the merge queue Dec 19, 2023
Merged via the queue into cmss13-devs:master with commit 55f9dd8 Dec 19, 2023
26 checks passed
cm13-github added a commit that referenced this pull request Dec 19, 2023
github-merge-queue bot pushed a commit that referenced this pull request Jan 3, 2024
# About the pull request

Depends on Part 2 (#4842), reopening of #4844

Refactors daze and speech problems handling to back them by new
status_effect-s and traits, fixes a few bugs, and gets rid of an unused
and horrible bay12 relic horsehead with snowflake speech handling

This just generally makes it more reliable timewise and allows further
interactions in the future

:cl:
code: Refactored Daze to use new Status backend
fix: Dazed screen effect now applies immediately
fix: Stuttering now starts properly when dazed
del: Removed unused disabilities code
del: Removed an old, goofy and unused decade old horse mask
/:cl:

---------

Co-authored-by: forest2001 <[email protected]>
@zzzmike zzzmike mentioned this pull request Jul 6, 2024
github-merge-queue bot pushed a commit that referenced this pull request Jul 7, 2024
#4842 - after we moved to the
TG system for many status effects, certain things needed to be converted
from WEAKEN to Stun/KnockDown in order to function properly - for
example tablestunning was converted in that PR. From testing, it seems
like flash, flashbang needs to be converted as well.

# Explain why it's good for the game

Fixes weird flash/flashbang issue(s)

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
fix: converts flash, flashbang to TG effect system, fixing issue(s)
/:cl:
Doubleumc pushed a commit to Doubleumc/PvE-CMSS13 that referenced this pull request Jul 23, 2024
cmss13-devs/cmss13#4842 - after we moved to the
TG system for many status effects, certain things needed to be converted
from WEAKEN to Stun/KnockDown in order to function properly - for
example tablestunning was converted in that PR. From testing, it seems
like flash, flashbang needs to be converted as well.

# Explain why it's good for the game

Fixes weird flash/flashbang issue(s)

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog
:cl:
fix: converts flash, flashbang to TG effect system, fixing issue(s)
/:cl:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Approved This PR has had its balance and gameplay-affecting aspects approved. Cry to the Head-maint about it. Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Code Improvement Make the code longer Feature Feature coder badge Fix Fix one bug, make ten more Sprites Remove the soul from the game. Testmerge Candidate we'll test this while you're asleep and the server has 10 players
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants